#ifndef _FIG_PLAYERBULLET_MASTER_H_
#define _FIG_PLAYERBULLET_MASTER_H_

#include "fig_bullet.h"

#include "math/vec2.h"
#include <vector>

class FIGBulletManager;

class FIGPlayerBulletMaster
{

public:

	enum	BULLET_TYPES
	{
		BULLET_TYPES_BLUE,
		BULLET_TYPES_RED,
		BULLET_TYPES_GREEN,
		BULLET_TYPES_ROCKET,
		BULLET_TYPES_TOPIDO,		
		BULLET_TYPES_COUNT,
	};	
	
	static FIGPlayerBulletMaster&			Instance();

	
	void									Render(const math::Vec2& Offset,float Scale);
	void									RenderDebug(const math::Vec2& Offset,float Scale);
	void									Tick(float dt);
	void									ShootTick(
												const math::Vec2& Pos,
												FIGPlayerBulletMaster::BULLET_TYPES Type,
												float dt,
												FIGBullet::SHOOT_STYLES ShootStyle
												);

	void									AddBullet(	FIGPlayerBulletMaster::BULLET_TYPES Type,
														FIGBullet* pBullet
														);

	void									ShootRocketAllDir(const math::Vec2& Pos);
	void									Clear();

	

protected:
	
	FIGPlayerBulletMaster();
	~FIGPlayerBulletMaster();

	FIGBulletManager*						m_BulletManagers[BULLET_TYPES_COUNT];
	math::Vec2								m_NormalDir;

};

#endif